06 通过模块化、异步和观察做到动态加载
处理异步事件中的时间状态
在异步中,两个函数形成竞争条件(Race Condition)。
var userPromise = getUser(userId);
var ordersPromise = getOrders(userId);
userPromise.then(function onUser(user) {
ordersPromise.then(function onOrders(orders) {
user.orders = orders;
});
});
处理循环事件中的时间状态
处理用户事件中的时间状态
网页上的一个模块从加载到执行大致分成了 4 个步骤,加载、解析、编译、执行。
**可视时加载:**懒加载(Lazy loading),经常用在长页面当中。不需要一上来就加载整个页面,而是当用户滑动到了某个部分的时候,再加载相关的内容。
**交互时加载:**当用户和页面进行交互时,可能产生的加载。